﻿/*
 *  ============================================================================
 *  Name:           Gestão de parques de estacionamento
 *  Author:         João Faria
 *  Email:          a8836@alunos.ipca.pt
 *                  jfaria.gmr@gmail.com
 *  Version:        0
 *  Date:           2013-04-10
 *  Copyright:       
 *  Description:    IPCA - Programação II
 *                  Projecto final
 *  ============================================================================
 */

using System;
namespace GesParking.Exceptions
{
    /// <summary>
    /// Classe que gere o erro "Parque duplicado"
    /// </summary>
    public class DuplicateParkException : ApplicationException
    {
        /// <summary>
        /// Construtor da excepção
        /// </summary>
        /// <param name="msg">Mensagem a apresentar quando ocorre o erro</param>
        public DuplicateParkException() : base("O Parque já existe!") { }
    }

    /// <summary>
    /// Classe que gere o erro "Parque não encontrado"
    /// </summary>
    public class ParkNotFoundException : ApplicationException
    {
        /// <summary>
        /// Construtor da excepção
        /// </summary>
        /// <param name="msg">Mensagem a apresentar quando ocorre o erro</param>
        public ParkNotFoundException() : base("O Parque não existe!") { }
    }

    /// <summary>
    /// Classe que gere o erro "Alteração não permitida"
    /// </summary>
    public class ChangingNotAllowedException : ApplicationException
    {
        /// <summary>
        /// Construtor da excepção
        /// </summary>
        /// <param name="msg">Mensagem a apresentar quando ocorre o erro</param>
        public ChangingNotAllowedException() : base("Não é possivel alterar a capacidade máxima neste momento") { }
    }
}
